Skip to content

权限管理 - 技术设计

1、权限是什么?

权限包括了功能权限和数据权限:

功能权限是系统执行权限控制的基本单元,包括页面权限、菜单权限、按钮权限等。
数据权限包括基础数据、业务数据、资源数据等。

2、ACL 基于用户的权限管理模型

直接把菜单权限绑定在用户账号上的方式就叫做ACL

3、RBAC 基于角色的权限管理模型

用户管理
角色管理
权限管理

前端路由设计

https://example.com/${项目名}/${菜单code}/${菜单code}

例子:xxx管理系统 -> 营销活动 -> 优惠卷管理

https://example.com/tz_cloud_system/marketing/coupon

后台权限字段配置

  • name 菜单名称
  • path 菜单路径
  • type 类型(菜单、按钮)
  • parent 当前菜单的父级
  • hidden 当前菜单是否在菜单栏中显示
  • sort 当前菜单显示的顺序

功能权限分类

按钮(button)权限 选项卡(tab)权限

管理后台配置

  1. 第一步配置权限。
  2. 第二步配置角色,并勾选拥有的权限。
  3. 第三部配置用户,并勾选用户的角色。

前端实现

  1. 第一步用户登录系统。
  2. 第二步通过接口拿到菜单权限与按钮权限。
  3. 第三步遍历菜单权限,生成菜单。
  4. 第四步遍历菜单权限,通过Vue动态注册路由添加用户可访问的页面。并且通过异步加载组件的形式挂载页面。
  5. 第五步在页面中通过指令v-auth、v-if、v-show、render函数中动态节点的形式控制按钮是否显示。